// 基于template/src/widgets/\{{appEntities}}/\{{ctrls@GRIDEXPBAR}}-grid-exp-bar/\{{ctrls@GRIDEXPBAR}}-grid-exp-bar-model.ts.hbs生成
import { IGridExpBarModel } from "@/core";

//  获取部件模型
function getModel(): IGridExpBarModel {
    return {
        name: "{{ctrl.name}}",
        caption: "{{ctrl.caption}}",
        codeName: "{{ctrl.codeName}}",
        cssName: "{{#if ctrl.psSysCss}}{{ctrl.psSysCss.cssName}}{{/if}}",
        controlType: "{{ctrl.controlType}}",
        showTitleBar: {{ctrl.showTitleBar}},
        title: "{{ctrl.title}}",
    {{#hasCtrl ctrl.ctrls 'TOOLBAR'}}
        toolbarItems: getToolbarItems(),
    {{/hasCtrl}}
        enableSearch: {{ctrl.enableSearch}},
        entityCodeName: '{{ctrl.psAppDataEntity.codeName}}',      
        lanResTag: "{{ctrl.titlePSLanguageRes.lanResTag}}",
    {{#if ctrl.xDataControlName}}
        xDataCtrlName: '{{ctrl.xDataControlName}}',
    {{/if}}
    {{#if ctrl.enableSearch}}
        quickSearchPlaceholder: '{{#and ctrl.psAppDataEntity ctrl.psAppDataEntity.allPSAppDEFields}}{{#each ctrl.psAppDataEntity.allPSAppDEFields as | field |}}{{#if field.enableQuickSearch}}{{field.logicName}}{{#unless @last}},{{/unless}}{{/if}}{{/each}}{{/and}}',
    {{/if}}
    {{#ctrl.ctrls}}
    {{#eq controlType "GRID"}}
        {{#if psAppDataEntity}}
        xDataDeCodeName: '{{lowerCase psAppDataEntity.codeName}}',
        xDataDeName: '{{psAppDataEntity.psDEName}}',
        {{/if}}
        {{#if navPSDER}}
        navPSDer: 'n_{{lowerCase navPSDER.minorCodeName}}_eq',
        {{/if}}
        {{#if navFilter}}
        navFilter: '{{navFilter}}',
        {{/if}}
        {{#if navPSAppView}}
        navViewName: '{{navPSAppView.codeName}}',
        {{/if}}
        {{#if psNavigateContexts}}
        navigateContext: {{> @macro/common/navparam.hbs appNavParams=psNavigateContexts}},
        {{/if}}
        {{#if psNavigateParams}}
        navigateParams: {{> @macro/common/navparam.hbs appNavParams=psNavigateParams}},
        {{/if}}
    {{/eq}}
    {{/ctrl.ctrls}}
        ctrlParams: {
        {{#if ctrl.ctrls}}
            {{#each ctrl.ctrls as | tempCtrl |}}
            {{tempCtrl.psAppDataEntity.codeName}}{{tempCtrl.name}}: {{CustomParams 'ctrl' tempCtrl.psControlParam.ctrlParams}},
            {{/each}}
        {{/if}}
        },
    }
}

//  部件模型
export const model = getModel();

{{#ctrl.ctrls}}
  {{#eq controlType 'TOOLBAR'}}
//  获取工具栏项
function getToolbarItems() {
  return [
  {{> @macro/widgets/toolbar/toolbar-item.hbs items=psDEToolbarItems view=ctrl toolbar=this}}
  ];
}
  {{/eq}}
{{/ctrl.ctrls}}